<?php
class ModelDelimanPhieutrabao extends Model 
{
	public function getList($where = "")
	{
		$query = $this->db->query("Select `dlm_phieutrabao`.* from `dlm_phieutrabao` where trangthai <> 'deleted' ".$where);
		return $query->rows;
	}
	
	public function getItem($phieutrabaoid)
	{
		$query = $this->db->query("Select * from `dlm_phieutrabao` where phieutrabaoid = '".$phieutrabaoid."'");
		return $query->row;
	}
	private function createMaPhieu($prefix)
	{
		
		$mun = $this->db->getNextIdVarCharNumber("dlm_phieutrabao","maphieutrabao",$prefix);
		return $this->string->numberToString($mun,3).$prefix;
	}
	
	public function insert($data)
	{
		$phieutrabaoid=$this->db->escape(@$data['phieutrabaoid']);
		
		if($data['prefix'] == "")
			$maphieutrabao=$this->db->escape(@$data['maphieutrabao']);
		else
			$maphieutrabao=$this->createMaPhieu($data['prefix']);
		$ngaylap=$this->db->escape(@$data['ngaylap']);
		$ngaytrabao=$this->db->escape(@$data['ngaytrabao']);
		$ghichu=$this->db->escape(@$data['ghichu']);
		$nhanvientraid=$this->db->escape(@$data['nhanvientraid']);
		$masonhanvientra=$this->db->escape(@$data['masonhanvientra']);
		$tennhanvientra=$this->db->escape(@$data['tennhanvientra']);
		$khuvuctraid=$this->db->escape(@$data['khuvuctraid']);
		$tenkhuvuctra=$this->db->escape(@$data['tenkhuvuctra']);
		$nhanviennhanid=$this->db->escape(@$data['nhanviennhanid']);
		$masonhanviennhan=$this->db->escape(@$data['masonhanviennhan']);
		$tennhanviennhan=$this->db->escape(@$data['tennhanviennhan']);
		$khuvucnhanid=$this->db->escape(@$data['khuvucnhanid']);
		$tenkhuvucnhan=$this->db->escape(@$data['tenkhuvucnhan']);
		$xacnhan=$this->db->escape(@$data['xacnhan']);
				
		$field=array(
						'phieutrabaoid',
						'maphieutrabao',
						'ngaylap',
						'ngaytrabao',
						'ghichu',
						'nhanvientraid',
						'masonhanvientra',
						'tennhanvientra',
						'khuvuctraid',
						'tenkhuvuctra',
						'nhanviennhanid',
						'masonhanviennhan',
						'tennhanviennhan',
						'khuvucnhanid',
						'tenkhuvucnhan',
						'xacnhan'
					);
		$value=array(
						$phieutrabaoid,
						$maphieutrabao,
						$ngaylap,
						$ngaytrabao,
						$ghichu,
						$nhanvientraid,
						$masonhanvientra,
						$tennhanvientra,
						$khuvuctraid,
						$tenkhuvuctra,
						$nhanviennhanid,
						$masonhanviennhan,
						$tennhanviennhan,
						$khuvucnhanid,
						$tenkhuvucnhan,
						$xacnhan
					);
		$getLastId = $this->db->insertData("dlm_phieutrabao",$field,$value);
		
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Lập phiếu trả báo",
							'hanhdong'=>"Thêm mới phiếu",
							'csdl'=>"dlm_phieutrabao[".$getLastId."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten'),
							'truongdulieu'=>"phieutrabaoid",
							'dulieucu'=>"",
							'dulieumoi'=>$getLastId
							);
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);
		//Ghi nhật ký hệ thống: kết thúc
		
		return $getLastId;
	}
	
	public function update($data)
	{
		$phieutrabaoid=$this->db->escape(@$data['phieutrabaoid']);
		$maphieutrabao=$this->db->escape(@$data['maphieutrabao']);
		$ngaylap=$this->db->escape(@$data['ngaylap']);
		$ngaytrabao=$this->db->escape(@$data['ngaytrabao']);
		$ghichu=$this->db->escape(@$data['ghichu']);
		$nhanvientraid=$this->db->escape(@$data['nhanvientraid']);
		$masonhanvientra=$this->db->escape(@$data['masonhanvientra']);
		$tennhanvientra=$this->db->escape(@$data['tennhanvientra']);
		$khuvuctraid=$this->db->escape(@$data['khuvuctraid']);
		$tenkhuvuctra=$this->db->escape(@$data['tenkhuvuctra']);
		$nhanviennhanid=$this->db->escape(@$data['nhanviennhanid']);
		$masonhanviennhan=$this->db->escape(@$data['masonhanviennhan']);
		$tennhanviennhan=$this->db->escape(@$data['tennhanviennhan']);
		$khuvucnhanid=$this->db->escape(@$data['khuvucnhanid']);
		$tenkhuvucnhan=$this->db->escape(@$data['tenkhuvucnhan']);
		$xacnhan=$this->db->escape(@$data['xacnhan']);
				
		$field=array(
						'phieutrabaoid',
						'maphieutrabao',
						'ngaylap',
						'ngaytrabao',
						'ghichu',
						'nhanvientraid',
						'masonhanvientra',
						'tennhanvientra',
						'khuvuctraid',
						'tenkhuvuctra',
						'nhanviennhanid',
						'masonhanviennhan',
						'tennhanviennhan',
						'khuvucnhanid',
						'tenkhuvucnhan',
						'xacnhan'
					);
		$value=array(
						$phieutrabaoid,
						$maphieutrabao,
						$ngaylap,
						$ngaytrabao,
						$ghichu,
						$nhanvientraid,
						$masonhanvientra,
						$tennhanvientra,
						$khuvuctraid,
						$tenkhuvuctra,
						$nhanviennhanid,
						$masonhanviennhan,
						$tennhanviennhan,
						$khuvucnhanid,
						$tenkhuvucnhan,
						$xacnhan
					);
					
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht_1 = array(
							'ngaythaotac'=>$this->date->getToday(),
							'chucnang'=>"Lập phiếu trả báo",
							'hanhdong'=>"Sửa thông tin phiếu",
							'csdl'=>"dlm_phieutrabao[".$phieutrabaoid."]",
							'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							'tennhanvien'=>$this->user->getNhanVien('hoten')
							);
		$phieutrabao_cu = $this->getItem($phieutrabaoid);
		foreach($data as $key=>$dulieumoi)
		{	
			if(@trim($key) == trim("ngaylap"))
			{
				$dulieumoi = $this->date->formatMySQLDate($dulieumoi);
				$phieutrabao_cu[$key] = $this->date->formatMySQLDate($phieutrabao_cu[$key]);						 
			}
			if(@trim($phieutrabao_cu[$key]) != @trim($dulieumoi))
			{
				$nkht = array();
				$nkht_2 = array(
								'truongdulieu'=>"'".$key."'",
								'dulieucu'=>"'".$phieutrabao_cu[$key]."'",
								'dulieumoi'=>"'".$dulieumoi."'",
								);
				$nkht = array_merge($nkht_1, $nkht_2);
				$this->load->model('deliman/nhatkyhethong');
				$this->model_deliman_nhatkyhethong->insert($nkht);	
			}
		}
		//Ghi nhật ký hệ thống: kết thúc
					
		$where="phieutrabaoid = '".$phieutrabaoid."'";
		$this->db->updateData("dlm_phieutrabao",$field,$value,$where);
	}	
			
	public function delete($phieutrabaoid)
	{
		$phieutrabaoid=$this->db->escape(@$phieutrabaoid);
		//$where="phieutrabaoid = '".$phieutrabaoid."'";
		//$this->db->deleteData('dlm_phieutrabao',$where);
		$field=array(
						
						'trangthai'
					);
		$value=array(
						
						'deleted'
					);
					
		//nhthoai: cập nhật
		//Ghi nhật ký hệ thống: bắt đầu
		$nkht = array(
							  'ngaythaotac'=>$this->date->getToday(),
							  'chucnang'=>"Lập phiếu trả báo",
							  'hanhdong'=>"Xóa phiếu trả báo và chi tiết phiếu",
							  'csdl'=>"dlm_phieutrabao[".$phieutrabaoid."]",
							  'nhanvienid'=>$this->user->getNhanVien('nhanvienid'),
							  'masonhanvien'=>$this->user->getNhanVien('masonhanvien'),
							  'tennhanvien'=>$this->user->getNhanVien('hoten'),
							  'truongdulieu'=>"trangthai",
							  'dulieucu'=>"",
							  'dulieumoi'=>"deleted"
					  );
		$this->load->model('deliman/nhatkyhethong');
		$this->model_deliman_nhatkyhethong->insert($nkht);
		//Ghi nhật ký hệ thống: kết thúc
					
		$where="phieutrabaoid = '".$phieutrabaoid."'";
		$this->db->updateData("dlm_phieutrabao",$field,$value,$where);
		$this->db->updateData("dlm_chitietphieutrabao",$field,$value,$where);
	}
	
	public function deletes($data)
	{
		foreach($data as $phieutrabaoid)
		{
			$this->delete($phieutrabaoid);
		}		
	}
	
	//chi tiet phieu phat hanh
	
	public function getChiTietPhieuTraBao($id)
	{
		$sql = "Select * 
						from `dlm_phieutrabao` 
						where id ='".$id."'";
		$query = $this->db->query($sql);
		return $query->row;	
	}
	
	public function getChiTietPhieuTraBaoList($where)
	{
		$sql = "Select `dlm_chitietphieutrabao`.* 
									from `dlm_chitietphieutrabao` 
									where trangthai <> 'deleted' " . $where ;
		
		$query = $this->db->query($sql);
		return $query->rows;
	}
	
	public function saveChiTietPhieuTraBao($data)
	{
		$id=(int)@$data['id'];
		$phieutrabaoid=$this->db->escape(@$data['phieutrabaoid']);
		$nhanvientraid=$this->db->escape(@$data['nhanvientraid']);
		$nhanviennhanid=$this->db->escape(@$data['nhanviennhanid']);
		$khuvuctraid=$this->db->escape(@$data['khuvuctraid']);
		$khuvucnhanid=$this->db->escape(@$data['khuvucnhanid']);
		$ngaylap = $this->db->escape(@$data['ngaylap']);
		$kybaoid=$this->db->escape(@$data['kybaoid']);
		$sokybao=$this->db->escape(@$data['sokybao']);
		$tenkybao=$this->db->escape(@$data['tenkybao']);
		$loaibaoid=$this->db->escape(@$data['loaibaoid']);
		$tenloaibao=$this->db->escape(@$data['tenloaibao']);
		$ngaytrabao=$this->db->escape(@$data['ngaytrabao']);
		$soluongtra=$this->db->escape(@$this->string->toNumber($data['soluongtra']));
		$lydotra=$this->db->escape(@$data['lydotra']);
		
		$field=array(
						'phieutrabaoid',
						'nhanvientraid',
						'nhanviennhanid',
						'khuvuctraid',
						'khuvucnhanid',
						'ngaylap',
						'kybaoid',
						'sokybao',
						'tenkybao',
						'loaibaoid',
						'tenloaibao',
						'ngaytrabao',
						'soluongtra',
						'lydotra'
					);
		$value=array(
						$phieutrabaoid,
						$nhanvientraid,
						$nhanviennhanid,
						$khuvuctraid,
						$khuvucnhanid,
						$ngaylap,
						$kybaoid,
						$sokybao,
						$tenkybao,
						$loaibaoid,
						$tenloaibao,
						$ngaytrabao,
						$soluongtra,
						$lydotra
					);
					
		if($id==0)
		{
			
			$this->db->insertData("dlm_chitietphieutrabao",$field,$value);
			$id = $this->db->getLastId();
		}
		else
		{
			$where="id = '".$id."'";
			$this->db->updateData('dlm_chitietphieutrabao',$field,$value,$where);
		}
		return $id;
	}
	
	public function updateChiTietPhieuTraBao($id,$col,$val)
	{
		$id = $this->db->escape(@$id);
		$col=$this->db->escape(@$col);
		$val=$this->db->escape(@$val);
		
		$field=array(
						$col
						
					);
		$value=array(
						$val
					);
		
		$where="id = '".$id."'";
		$this->db->updateData('dlm_chitietphieutrabao',$field,$value,$where);
	}
	
	public function deleteChiTietPhieuTraBao($id)
	{
		$id = $this->db->escape(@$id);		
		$where="id = '".$id."'";
		$this->db->deleteData('dlm_chitietphieutrabao',$where);
		
	}	
}
?>